//汉诺塔递归
class Solution1 {
    public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) {
        dfs(A,B,C,A.size());//这里不能写为n
    }
    public void dfs(List<Integer> A, List<Integer> B, List<Integer> C,int n) {
        //递归出口
        if(n==1) {
            C.add(A.remove(A.size()-1)); //A--,C++
            return;//一定要记得return
        }
        //第一步：上面n-1个盘子转移到B
        dfs(A,C,B,n-1);
        //第二步：将max盘转移到C
        C.add(A.remove(A.size()-1)); //A--,C++
        //第三步：将n-1个盘子放到C
        dfs(B,A,C,n-1);
    }
}